package cn.volunteer.points.system.mapper;

import cn.volunteer.points.system.pojo.entity.UserActivity;
import cn.volunteer.points.system.pojo.qo.UserActivityQO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;

/**
 * @description: 用户活动关联数据层接口
 * @author:
 * @create: 创建时间：2021-04-19
 **/
@Repository
public interface UserActivityMapper {

    /**
     * 完成活动、参加活动
     * @param userActivity
     */
    void add(@Param("userActivity") UserActivity userActivity);


    /**
     * 删除活动
     * 全量删除、单个删除
     * @param userActivityQO
     */
    void del(@Param("userId") Integer userId , @Param("activityId") Integer activityId);

    /**
     * 查询用户活动列表
     * @param userId
     * @return
     */
    List<Map> list(@Param("userId")Integer userId);

    /**
     * 查询用户完成活动获取的总积分
     */
    Integer getUserActivityIntegral(@Param("userId")Integer userId);


    /**
     * 查询用户是否参加活动
     */
    UserActivity getUserActivity(@Param("userActivity")UserActivity userActivity);

    /**
     * 参加活动
     * @param userActivity
     */
    void update(@Param("userActivity")UserActivity userActivity);
}
